<!---- Creator: Eoly -->
<!---- On 2017/1/10 -->
<!---- Call http://palerock.cn -->

<!--
    获取一个订单详细信息API（包含订单绑定的团和地址信息）：
    method:GET
    url:'http://palerock.cn/user/order/find-order-deeply'

    请求头:
    Authorization:'Bearer '+token 密文记录

    params:
    {                           // 发送params参数
        orderId:                // 你想获得的订单的订单id
    }
    返回：
    {
        data:       // 返回的团数据列表
            {
                orderId:                  // 订单id
                orderUserId:              // 商家id
                orderMoney:               // 订单金额
                orderAddressId:           // 订单地址id
                orderAddTime:             // 订单生成时间

                orderStatus:              // 订单状态
                                                -1.失效
                                                0.未付款
                                                1.付款成功，等待拼团
                                                2.拼团成功，等待发货
                                                3.交易成功

                address:                    // 订单绑定的地址信息
                    {
                        addressId           // 地址id
                        addressInfo         // 详细地址
                        addressNickName     // 称呼
                        addressPhoneNum     // 联系电话
                        userId              // 绑定用户id
                    }

                group:                    // 订单绑定的地址信息
                    {
                        ...               // 参展获取所有团列表中单个团的属性
                    }
            }


        error:      // '0'则为操作成功

        mes:        // 操作后返回的信息
    }
-->

<!--
    订单支付API：
    method:POST
    url:'http://palerock.cn/h5_back/user/order/pay'

    请求头:
    Authorization:'Bearer '+token 密文记录

    params:
    {                           // 发送json参数
        orderId                 // 订单id
        payPsw                  // 支付密码
    }
    返回：
    {

        error:      // '0'则为操作成功

        mes:        // 操作后返回的信息
    }
-->

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
    <title>AngularTest</title>
    <style>
        * {
            /*padding: 0;*/
            margin: 0;
            /*border: 0;*/
            -webkit-box-sizing: border-box;
            -moz-box-sizing: border-box;
            box-sizing: border-box;
        }
    </style>
    <script src="../angular.js"></script>
    <script>

       var net = 'http://palerock.cn/h5_back';

        var app = angular.module('app', []);

       //自定义过滤器——转换订单状态为文字
       app.filter('explainOrderStatus', function () {
           return function (status) {
               var result = '';
               switch (status) {
                   case -1:
                       result = '已失效';
                       break;
                   case 0:
                       result = '未付款';
                       break;
                   case 1:
                       result = '付款成功，等待拼团';
                       break;
                   case 2:
                       result = '拼团成功，等待发货';
                       break;
                   case 3:
                       result = '交易成功';
                       break;
                   default:
                       result = '未知状态';
               }
               //input 就是我们要处理的数据
               return result;
           }
       });


        app.controller('info', function ($scope, $http) {


            //声明从缓存获取的订单对象
            $scope.preOrder = null;

            //声明从服务器获取的订单对象
            $scope.orderDeeply = {};

            //获取在列表页储存的团id
            $scope.getSavePreOrder = function(){
                var order = sessionStorage.getItem("pre_order");
                if(!order){
                    return;
                }
                $scope.preOrder = JSON.parse(order);
            };

            //获取订单详情
            $scope.getOrderDeeply = function(){

                var token = localStorage.getItem("token");

                if (!token) {
                    alert("您还没有登录");
                    location.href = "登陆简单演示.html";
                }

                $scope.getSavePreOrder();
                if(!$scope.preOrder){
                    alert('在上一步操作未指定具体订单');
                    history.back();
                    return;
                }

                //指定请求参数
                var param = {};
                param.orderId = $scope.preOrder.orderId;

                $http({
                    method: 'get',
                    params: param,
                    url: net + "/user/order/find-order-deeply",
                    headers : {'Authorization' : 'Bearer ' + token}
                }).then(
                        function (res) {

                            if(!res.data.error) {

                                alert(res.data.mes);
                                console.log(res);
                                $scope.orderDeeply = res.data.data;

                            }else{
                                alert("错误代码:"+res.data.error+","+res.data.mes)
                            }

                        },
                        //获取失败
                        function (res) {
                            alert('网络或设置错误');
                        }
                )
            };


            //订单支付
            $scope.pay = function(){

                //读取本地缓存
                var token = localStorage.getItem("token");

                if (!token) {
                    alert("您还没有登录");
                    location.href = "登陆简单演示.html";
                }

                if(!$scope.orderDeeply.orderId){
                    alert('没有获得订单的具体信息，请重试');
                    $scope.getOrderDeeply();
                    return;
                }

                //声明参数
                var param = {};
                param.orderId = $scope.orderDeeply.orderId;
                param.payPsw = prompt("请输入支付密码：");

                $http(
                        {
                            method: 'post',
                            params: param,
                            url: net + "/user/order/pay",
                            headers : {'Authorization' : 'Bearer ' + token}
                        }
                ).then(
                        function (res) {

                            if(!res.data.error) {

                                alert(res.data.mes);
                                console.log(res);
                                history.back();
                                sessionStorage.removeItem('pre_order');

                            }else{
                                alert("错误代码:"+res.data.error+","+res.data.mes)
                            }

                        },
                        //获取失败
                        function (res) {
                            alert('网络或设置错误');
                        },
                        //获取中
                        function (res) {
                            console.log(res);
                        }
                )
            };


            $scope.logout = function () {
                localStorage.removeItem("token");
                alert("您已注销成功");
                location.reload();
            };
        });
    </script>
</head>
<body ng-app="app">
<div ng-controller="info" ng-init="getOrderDeeply();">
    <fieldset>
        <legend align="center">订单支付</legend>
        <ul>
            <li>订单id：{{orderDeeply.orderId}}</li>
            <li>团详情：
                <ul>
                    <li>团id：{{orderDeeply.group.groupId}}</li>
                    <li>团标题：{{orderDeeply.group.groupTitle}}</li>
                    <li>团价格：{{orderDeeply.group.groupPrice}}</li>
                    <li>团邮费：{{orderDeeply.group.groupPostage}}</li>
                    <li>参团人数：{{orderDeeply.group.groupNowNumber}}/{{orderDeeply.group.groupTargetNumber}}</li>
                </ul>
            </li>
            <li>地址详情：
                <ul>
                    <li>地址id：{{orderDeeply.address.addressId}}</li>
                    <li>称呼：{{orderDeeply.address.addressNickName}}</li>
                    <li>联系电话：{{orderDeeply.address.addressPhoneNum}}</li>
                    <li>详细地址：{{orderDeeply.address.addressInfo}}</li>
                </ul>
            </li>
            <li>订单应支付总额：{{orderDeeply.orderMoney}}</li>
            <li>订单状态：{{orderDeeply.orderStatus | explainOrderStatus}}</li>
            <li>支付方式：
                <select name="" id="">
                    <option value="商城余额支付">商城余额支付</option>
                </select>
            </li>
            <li><button ng-click="pay()">确认支付</button></li>
        </ul>
    </fieldset>
</div>

</body>
</html>